This invention relates to secure communication between devices. It is especially, but not exclusively, relevant to pairing Bluetooth devices.
Many devices are capable of communicating with other devices. For reasons of security, it is often desirable to restrict the devices from which one device will accept at least some types of communication. Many wired and wireless communication protocols incorporate security protocols that serve this purpose. In order to be effective, many of these security protocols must require a user or an operator to take some action to enable communications between a pair of devices. This can be inconvenient when at least one of the devices has a restricted user interface.
In the Bluetooth protocol one type of security configuration is achieved by means of a process known as pairing. The pairing process in Bluetooth can be performed in a number of ways. The most common way is as follows:                1. One device (device A) is configured so that it can transmit signals in such a way as to be discovered by the other device (device B).        2. The user instructs device B so as to discover any nearby devices.        3. The user views on the display of device B a list of the devices that device B has discovered. The user selects device A from the list and instructs device B to initiate pairing with device A.        4. Device B transmits a series of messages to device A to initiate pairing.        5. The user must share a security code between devices A and B. The user may enter the code into both devices, if they both have keypads. Alternatively, one or of the devices may be pre-configured with a security code (e.g. 0000), which the user can enter into the other device. Conceivably both devices could be reprogrammed with matching security codes, but that would not greatly enhance security.        6. If the security codes in both devices match then the pairing process continues. Each device stores information about the other that enables them to communicate in future.        
Further details of the Bluetooth pairing processes are available from the Bluetooth Core Specifications “2.0+EDR” and “2.1+EDR”.
Some devices have limited user interfaces. Examples of such devices are Bluetooth-equipped headsets, Bluetooth-equipped data loggers and Bluetooth-equipped sensor devices. Such devices might have few if any user-operable buttons, or a limited display if they have any display at all. The limited user interfaces that these devices have make it difficult to use them to initiate pairing.
One reason for this is that it is difficult to perform step 3 above since the devices cannot easily display a list of devices they have discovered, and do not allow a discovered device to be easily selected by the user. Because of this it is conventional to initiate pairing using whichever device it is desired to pair with the device that has the limited interface. That device will typically have a more sophisticated user interface. It might, for example, be a computer or a mobile phone.
However, this has other problems because many users find it difficult to navigate the menus needed to control the device to initiate pairing. When the device is in its default state it is not initiating pairing, and so in order to initiate pairing the user must typically navigate the device's menu system to find the right option. Many devices that have been bought are returned to retailers not because they are faulty but because users are unable to get them to pair with another device.
Pairing processes that use other out-of-band mechanisms such as near-field communications (NFC) have been proposed, but these need additional hardware for communication over the out-of-band channel.
Newer Bluetooth devices support simplified pairing algorithms such as secure simple pairing. However, it is nevertheless desirable for new devices to be able to communicate with legacy devices that do not support new pairing algorithms.
These problems are not limited to Bluetooth. Similar issues exist in Wi-Fi (802.11) and other protocols, when two devices are to be configured to communicate with each other. There is therefore a need for an improved pairing mechanism.